Traffic matrix prediction and fast reroute path computation in packet networks

ABSTRACT

A processing system including at least one processor may obtain traffic measurements for end-to-end paths in a telecommunication network, calculate traffic estimates for the end-to-end paths in future time periods based on the traffic measurements in accordance with at least one machine learning model, calculate traffic estimates for primary paths in the telecommunication network based upon the traffic estimates for the end-to-end paths, compute a backup path configuration for a primary path of the telecommunication network for the future time periods based upon the traffic estimates for the primary paths in the future time periods, detect a change in the backup path configuration for the primary path in a future time period based upon the computing, and adjust a backup path in accordance with the backup path configuration when the change in the backup path configuration is detected.

This application is a continuation of U.S. patent application Ser. No.16/189,786, filed Nov. 13, 2018, now U.S. Pat. No. 10,581,736, which isherein incorporated by reference in its entirety.

The present disclosure relates generally to telecommunication networkoperations, and more particularly to devices, computer-readable media,and methods for computing fast reroute backup path configurationscorresponding to associated primary paths for a telecommunicationnetwork based upon end-to-end path traffic estimates and primary pathtraffic estimates for future time periods. For example, a link is adirect connection between two routers. The traffic for each end-to-endpath goes over one or more links (determined by a network routingmechanism) and conversely each link may carry traffic from one ormultiple end-to-end paths.

BACKGROUND

An important capability in a telecommunication network is the ability toquickly (typically tens of milliseconds) switch traffic from a primarypath to a backup path following detection of a failure of a networkcomponent (e.g., a link or a node) that takes down the primary path. Thetraffic on the fast reroute (FRR) backup path only stays there forseveral seconds until all the end-to-end paths are recomputed to avoidthe failed component using either a distributed mechanism by the routersor a centralized mechanism by a SDN controller. Usually a static path ischosen for a FRR backup path. The actual traffic that needs to becarried on such a backup path during a failure event depends on thetraffic on the primary path just before it fails, how many other networkcomponents have failed at the time of the failure event, and otherfactors. Since each backup path is pre-computed and the primary path itis protecting may carry traffic from several end-to-end paths (based onthe network routing mechanism), it may not be optimal at a later pointwhen called upon to serve as a backup path given changes in trafficconditions at many end-to-end paths at the later point of time.

SUMMARY

In one example, the present disclosure describes an apparatus,computer-readable medium, and method for computing backup pathconfigurations for a telecommunication network based upon end-to-endpath traffic estimates and primary path traffic estimates for futuretime periods. For example, a processing system including at least oneprocessor may obtain a plurality of traffic measurements for a pluralityof end-to-end paths in a telecommunication network, calculate trafficestimates for the plurality of end-to-end paths in a plurality of futuretime periods based on the plurality of traffic measurements inaccordance with at least one machine learning model, and calculatetraffic estimates for a plurality of primary paths in thetelecommunication network based upon the traffic estimates for theplurality of end-to-end paths. The processing system may then compute atleast one backup path configuration for at least one primary path of thetelecommunication network for the plurality of future time periods basedupon the traffic estimates for the plurality of primary paths in theplurality of future time periods, detect a change in the at least onebackup path configuration for the at least one primary path in a futuretime period of the plurality of future time periods based upon thecomputing, and adjust at least one backup path in accordance with the atleast one backup path configuration when the change in the at least onebackup path configuration is detected.

BRIEF DESCRIPTION OF THE DRAWINGS

The teaching of the present disclosure can be readily understood byconsidering the following detailed description in conjunction with theaccompanying drawings, in which:

FIG. 1 illustrates an example system related to the present disclosure;

FIG. 2 illustrates an additional example system related to the presentdisclosure;

FIG. 3 illustrates a portion of a network related to the presentdisclosure;

FIG. 4 illustrates a link traffic vector at different time periods;

FIG. 5 illustrates an example method for computing backup pathconfigurations for a telecommunication network based upon trafficestimates for future time periods, in accordance with the presentdisclosure; and

FIG. 6 illustrates an example high-level block diagram of a computerspecifically programmed to perform the steps, functions, blocks, and/oroperations described herein.

To facilitate understanding, identical reference numerals have beenused, where possible, to designate identical elements that are common tothe figures.

DETAILED DESCRIPTION

The present disclosure broadly discloses devices, computer-readablemedia and methods for computing a FRR backup path configuration for anassociated primary path in a telecommunication network based uponend-to-end path traffic estimates and primary path traffic estimates forfuture time periods. The traffic for each end-to-end path may be carriedby an end-to-end Multi-Protocol Label Switching-Traffic Engineering(MPLS-TE) tunnel and as referred to herein, the terms “end-to-end path”and “end-to-end tunnel” may be used interchangeably. The FRR backup pathmentioned above may carry traffic during the failure of thecorresponding primary path. In the case of link failure protection, theprimary path extends over a single link only. In the case of routerfailure protection, the primary path extends over two links with theprotected router being in the middle. In both cases, the backup pathshould be diverse from the primary path (since otherwise the failure ofthe primary path may also cause the backup path to fail) but theendpoints of the backup path should be exactly the same as that of theprimary path.

Upgrading a telecommunication network to a software defined network(SDN) architecture implies replacing or augmenting existing networkelements that may be integrated to perform a single function with newnetwork elements. The replacement technology may comprise a substrate ofnetworking capability, often called network function virtualizationinfrastructure (NFVI) that is capable of being directed with softwareand SDN protocols to perform a broad variety of network functions andservices.

Advancing SDN architectures also extend to the physical layer, with theintroduction of devices such as reconfigurable optical add/dropmultiplexers (ROADM) to the optical network, e.g., a wavelength divisionmultiplexing (WDM) network, such as a dense wavelength divisionmultiplexing (DWDM) network. Software-controlled ROADMs manage datatraveling over high-capacity fiber optic lines and can automaticallydetect and adjust bandwidth, move traffic to different optical paths,turn off wavelengths for a variety of different reasons, and so forth.SDN components relating to the physical layer (e.g., optical components)may additionally include transceivers, transponders, muxponders, or thelike, as well as optical or electro/optical components of switches(e.g., Ethernet switches), layer 3 switches/multi-layer switches,routers (e.g., routers which may also include switching functions), orthe like. Similar to other SDN components (e.g., virtual networkfunctions (VNFs) for layer 3 services, application layer services,etc.), these optical components may be turned on and off, and configuredand reconfigured at any time. In addition, such components may beinstalled but remain inactive until an SDN controller determines thatthe components should be activated for one or more wavelengthconnections.

An important capability in a packet network is the ability to switchtraffic to a backup path (e.g., a Fast Reroute (FRR) backup path, or“bypass tunnel”) in response to the detection of a failure along aprimary path. This may limit the traffic loss period in the event of afailure and is important for voice, video, gaming, and other real-timecritical traffic. In the event of a failure, each backup path must carryall the traffic the associated primary path was carrying just before thefailure. The primary path is either single hop (link-failure protection)or two-hop (router-failure protection) and typically it carries trafficfor several end-to-end paths (determined by network routing mechanism).The traffic for each end-to-end path can be carried by an end-to-endtunnel. Thus, since each backup path is pre-computed and carries trafficfrom several end-to-end tunnels, it may not be optimal when subsequentlycalled upon to serve as a backup path in some future time. For example,for each end-to-end tunnel, a second more optimal routing avoiding thefailed component may later be established by routers (e.g., distributedtraffic engineering (TE)) or by a SDN controller (e.g., centralized TE).The present disclosure addresses the potential for traffic loss when thetraffic is on a FRR backup path before being routed on a more optimalend-to-end path.

In some approaches, a static path is chosen for a FRR backup path. Theactual traffic that needs to be carried on such a backup path during afailure event depends on the traffic being carried by the associatedprimary path just before the failure, how many other network elementshave failed at the time of the failure event, and so on. If there isinsufficient capacity on the backup path during a failure event, trafficlosses may result. On the other hand, if too much capacity is kept onthe backup path based on a worst possible traffic condition (e.g.,maximum traffic during the day), the network infrastructure andoperational costs may increase significantly. In addition, such costsmay be incurred for a large number of backup paths (e.g., for everypossible next-hop path (link failure protection) or next-next-hop path(router failure protection) in the network.

Examples of the present disclosure periodically (e.g., every hour, everyfifteen minutes, every 20 minutes, etc.) adjust the next-hop ornext-next-hop backup paths using machine-learning-based trafficpredictions. Examples of the present disclosure may also includeknowledge of future traffic events, such as maintenance events orbandwidth calendaring events scheduled in the near future, to eliminateor reduce traffic losses during a failure event by calculating andimplementing more optimal backup paths, while also reducing networkcosts, and without requiring to keep significant additional capacity inthe network.

In one example, the present disclosure predicts elements of anend-to-end path traffic matrix that are highly correlated, and whichexhibit complex nonlinear oscillations and seasonal periodicities. Forinstance, each element of an end-to-end path traffic matrix may beassociated with the traffic on an end-to-end path, or tunnel (e.g., anMPLS Traffic Engineering (MPLS-TE) tunnel) between any two nodes in thenetwork, and the entry for each such element may comprise a trafficprediction based upon past traffic measures. In one example, a givenend-to-end path's traffic is denoted by {x₀, x₁, . . . , x_(N)}.

For each end-to-end path, the present disclosure forms a statisticalmodel that forecasts the traffic on that end-to-end path for a givenforward time horizon a_(T), such as 20 minutes, one hour, or 24 hoursinto the future, and so forth. In one example, the present disclosureprovides a nonlinear autoregressive model of the form x_(t)=f(x_(t−a) ₁, x_(t−a) ₂ , . . . , x_(t−a) _(T) )+b+ct+∈_(t), where {a₁, . . . a_(T)}are pre-specified time lags, b+ct is a linear trend, and Å_(T)represents Gaussian white noise. In one example, the mapping f isestimated by applying Gaussian process regression (GPR), a Bayesiannonlinear regression model where the number of parameters estimatedgrows with the amount of data. GPR, also known as Kriging, models f as arealization of a Gaussian process with a covariance kernel functionformed from the observed data. The posterior estimate E(x_(t)|f) underthe model has an explicit formula in terms of the training data, and canbe used to make out-of-sample predictions. GPR can also be viewed as aprobabilistic formulation of kernel regression and provides Bayesiancredible intervals (error bars) on any forecasts, which may be helpfulin interpreting the results. In comparison to a linear autoregressive(AR) or moving average (MA) model, a GPR model is better able to capturethe asymmetry between the rising and falling parts of dailyoscillations.

In one example, the present disclosure may include de-trending the timeseries with a linear regression, and then regressing {x_(t−a) ₁ ,x_(t−a) ₂ , . . . , x_(t−a) _(T) } on x_(t) for all t such that both tand t−a_(T) lie within the training period. It should be noted that GPRis typically applied to a time series by regressing t on t−a_(T) for alltimes t in the training dataset. However, this approach requires moredetailed prior knowledge of the data to specify a good kernel function(part of the GPR model), and also lacks a direction of time or notion ofcausality in the model. As a result, this approach performs worse thanthe lagged approach described above. GPR may also have betterout-of-sample prediction accuracy than other regression models includingpenalized linear models, boosted decision trees, and random forests.

In practice, the choice of lags {a₁, . . . a_(M)} affects the model'saccuracy. For example, specifying too few lags may fail to capturelonger term dependencies in the model, while having too many lags mayresult in a large parameter space where f may not be estimatedefficiently. For example, GPR may become less accurate for data with alarge number of features. In one example, lags are chosen by applying aheuristic based on the partial autocorrelation ρ_(t) of the data. In oneexample, this is done for each end-to-end path (tunnel) separately,using its own past history, and for a range of different forward timehorizons a_(T). For instance, in one example, the range of differentlags may be from 1 hour to 168 hours (one week).

The partial autocorrelation is defined by ρ_(t)=corr(x₀, x_(t)|{x₁, x₂,. . . , x_(t−1)}), and represents the amount of extra correlation attime lag t after accounting for the correlation at all smaller lags. Inone example, ρ_(t) is computed over the training period, and those lagswhere ρ_(t)>a_(T) ^(1/6)/15 are chosen for inclusion in the model.Notably, for small a_(T) (say, one hour ahead), the mapping f is easierto estimate. Thus, a higher dimensional model with more lags may beutilized. However, for large a_(T) (e.g., one week ahead), the mapping fis noisier. Thus, a lower dimensional model (with less lags) may be usedto compensate. Similarly, the paths with higher activity may havedifferent characteristics than the ones with lower activity, and mayresult in a different choice of lags.

In one example, the traffic measurements for an end-to-end path at theselected time lags may then be applied to the nonlinear autoregressivemodel to predict the end-to-end path traffic at a future time perioda_(T). In addition, this may be repeated for a plurality of additionalpaths to complete an end-to-end path traffic matrix for the future timeperiod a_(T) In one example, a primary path traffic matrix (broadly a“primary path traffic vector,” such as a link traffic vector) may thenbe calculated from such an end-to-end path traffic matrix. For instance,a routing engine may maintain an end-to-end path map identifyingdifferent end-to-end paths in the network (e.g., a topology informationblock (TIB) of a path computation element (PCE)), and for eachend-to-end path: the beginning and ending nodes, any intermediate nodesand/or links in the path, and so forth. For instance, an end-to-end pathtraffic matrix for a telecommunication network (e.g., an IP network overan optical transport network) may include more than 5000 entries, eachentry representing end-to-end traffic between two nodes (e.g., switchesand/or router) in the network. Since it is beneficial to know how muchtraffic goes over a backup path during a failure, the system is alsointerested in computing a primary path traffic vector. For link failureprotection, the primary path is over one link and for router failureprotection, the primary path is over two links with the protected routerin the middle. The present disclosure explains how to compute the linktraffic vector (whose elements are the traffic on an individual link)but a similar computation may be done in the router failure protectioncase as well. The network routing mechanism determines how eachend-to-end path is routed over one or more links and so once the systemhas the end-to-end path traffic matrix, it can be used to compute thelink traffic vector. Since not all endpoint routers are directlyconnected by links, the number of links is usually less than the numberof end-to-end paths. However, the link traffic vector can still haveseveral hundred elements. A traffic prediction for a given link at afuture time period a_(T) may be calculated as the sum of trafficpredictions for the future time period a_(T) for all end-to-end pathswhich include the link, where the identification of end-to-end pathswhich include the link may be determined from the mapping maintained bythe routing engine.

As mentioned above, examples of the present disclosure periodicallyadjust backup paths in the network using machine-learning-basedknowledge of future traffic pattern changes (using one or more futurepredicted traffic matrices), and also using current network conditionsplus the knowledge of maintenance events or bandwidth calendaring eventsscheduled in the near future. In addition to being able to reroute overfixed IP links, the flexibility of CD ROADM (colorless-directionlessreconfigurable optical add-drop multiplexers) and DFCC (dynamic fibercross connects) may be used to create new IP links, delete or reroute anexisting IP link based on changing network and traffic conditions, andso on. Machine learning predictions of one or more future trafficmatrices as described herein allow this to be accomplished in aproactive manner rather than in a reactive manner. These and otheraspects of the present disclosure are discussed in greater detail belowin connection with the examples of FIGS. 1-6.

To aid in understanding the present disclosure, FIG. 1 illustrates anexample system 100 comprising a plurality of different networks in whichexamples of the present disclosure for computing backup pathconfigurations for a telecommunication network based upon trafficestimates for future time periods may operate. The overallcommunications system 100 may include any number of interconnectednetworks which may use the same or different communication technologies.As illustrated in FIG. 1, system 100 may include a network 105, e.g., acore telecommunication network. In one example, the network 105 maycomprise a backbone network, or transport network, such as an InternetProtocol (IP)/Multi-Protocol Label Switching (MPLS) network, where labelswitched paths (LSPs) can be assigned for routing Transmission ControlProtocol (TCP)/IP packets, User Datagram Protocol (UDP)/IP packets, andother types of protocol data units (PDUs) (broadly “traffic”). However,it will be appreciated that the present disclosure is equally applicableto other types of data units and network protocols. For instance, thenetwork 105 may utilize IP routing (e.g., without MPLS). Similarly, itshould be noted that examples of the present disclosure are described inconnection with a Fast Reroute (FRR) implementation for MPLS-TE.However, other examples may relate to different FRR implementations,such as IP-FRR using LFA (Loop Free Alternate) paths or the like.Furthermore, network 105 may comprise multiple networks utilizingdifferent protocols, all utilizing a shared underlying WDMinfrastructure (fibers, amplifiers, ROADMs, etc.), e.g., an opticaltransport network. In this regard, it should be noted that as referredto herein, “traffic” (or “network traffic”) may comprise all or aportion of a transmission, e.g., a sequence or flow, comprising one ormore packets, segments, datagrams, frames, cells, PDUs, service dataunits, bursts, and so forth. The particular terminology or types of dataunits involved may vary depending upon the underlying networktechnology. Thus, the term “traffic” is intended to refer to anyquantity of data to be sent from a source to a destination through oneor more networks.

In one example, the network 105 may be in communication with networks160 and networks 170. Networks 160 and 170 may comprise wirelessnetworks (e.g., an Institute of Electrical and Electronics Engineers(IEEE) 802.11/Wi-Fi network and the like), a cellular access network(e.g., a Universal Terrestrial Radio Access Network (UTRAN) or anevolved UTRAN (eUTRAN), and the like), a circuit switched network (e.g.,a public switched telephone network (PSTN)), a cable network, a digitalsubscriber line (DSL) network, a metropolitan area network (MAN), anInternet service provider (ISP) network, a peer network, and the like.In one example, the networks 160 and 170 may include different types ofnetworks. In another example, the networks 160 and 170 may be the sametype of network. The networks 160 and 170 may be controlled or operatedby a same entity as that of network 105 or may be controlled or operatedby one or more different entities. In one example, the networks 160 and170 may comprise separate domains, e.g., separate routing domains ascompared to the network 105. In one example, networks 160 and/ornetworks 170 may represent the Internet in general.

In one example, network 105 may transport traffic to and from userdevices 141 and 142. For instance, the traffic may relate tocommunications such as voice telephone calls, video and othermultimedia, text messaging, emails, and so forth between the userdevices 141 and 142, or between the user devices 141 and/or 142 andother devices that may be accessible via networks 160 and 170. Userdevices 141 and 142 may comprise, for example, cellular telephones,smart phones, personal computers, other wireless and wired computingdevices, private branch exchanges, customer edge (CE) routers, mediaterminal adapters, cable boxes, home gateways, routers, and so forth.

As stated above, network 105 comprises a WDM network (e.g., a densewavelength division multiplexing (DWDM) network). Accordingly, in oneexample, the nodes 131-137 may include optical components, such asROADMs, and the links between nodes 131-137 may comprise fiber opticcables. For ease of illustration, a portion of the links is specificallylabeled as links 120-129. Inset 101 illustrates a portion of the network105 comprising nodes 136 and 137, and links 125-129. As shown in inset101, node 136 includes a ROADM 191 coupled to links 125, 126, and 128, aplurality of add/drop ports 194, and a network switch 193 coupled to theROADM 191 via one of the plurality of add/drop ports 194 and atransponder 192. It should be noted that the network switch 193 mayinclude a transceiver 199 which is coupled to the transponder 192 via afiber optic patch cord 171. The transponder 192 may include a clientside transceiver 174 (which in one example may comprise the same orsimilar quality optics as the transceiver 199, e.g., an SFP transceiver,a 10 Gb small form factor pluggable (XFP) transceiver, or the like) anda ROADM side/line side transceiver 175 (which may comprise higherquality optics for transmitting and receiving signals over longerdistances between nodes of the network 105, e.g., hundreds of kilometersup to 2,000 or more kilometers) coupled to one of the add/drop ports 194via a fiber optic patch cord 172. In one example, the transponder 192may comprise a muxponder that may aggregate several lower bandwidthsignals from network switch 193 and/or from one or more other networkswitches, routers, or other client devices at node 136 into a combinedsignal for transmission over one of the network links 125, 126, or 128.

Similarly, node 137 includes a ROADM 195 coupled to links 126, 127, and129, a plurality of add/drop ports 198, and a network switch 197 coupledto ROADM 195 via a patch cord 173 between one of the plurality ofadd/drop ports 198 and a transponder 196. It should be noted that asillustrated in FIG. 1, the transponder 196 may be integrated withinnetwork switch 197, e.g., within a pluggable slot (such as a CFP or CFP2slot, a QSFP28 slot, or the like). In one example, transponder 196 maybe capable of transmitting and/or receiving optical signals for use inmetro or transport applications at data rates of 100 Gb/s or greater.However, in another example, transponder 196 may transmit and receive atlower data rates, such as 25 Gb/s, 10 Gb/s etc. ROADMs 191 and 195 maycomprise colorless ROADMs, directionless ROADMs, colorless anddirectionless ROADMs (CD ROADMs), a contentionless ROADM, e.g., acolorless, directionless, and contentionless (CDC) ROADM, and so forth.Additionally, it should be noted that these ROADMs may include OpenROADMs with open standards allowing interoperability of different ROADMsmanufactured by different vendors.

It should be noted that in each of the nodes 136 and 137, any number ofrouters, switches, application servers, and the like may be connected toone of the plurality of add/drop ports 194 or plurality of add/dropports 198, e.g., via additional transponders and/or transceivers. Inaddition, in other examples, additional components, such as additionalROADMs, may be connected to one of the plurality of add/drop ports 194or plurality of add/drop ports 198. For instance, in another example,node 137 may include a number of ROADMs, WSSs, and other components thatare interconnected to provide a higher degree node. In addition, asreferred to herein the terms “switch” and “network switch” may refer toany of a number of similar devices, e.g., including: a layer 2 switch(e.g., an Ethernet switch), a layer 3 switch/multi-layer switch, arouter (e.g., a router which may also include switching functions), orthe like. It should also be noted that nodes 131-135 may have a same orsimilar setup as nodes 136 and 137. In addition, in one example, any oneor more of components 181-184 may also comprise an optical node with asame or similar setup as nodes 136 and 137.

As further illustrated in FIG. 1, network 105 includes a softwaredefined network (SDN) controller 155 and a path computation element(PCE) 150. In one example, the SDN controller 155 may comprise acomputing system or server, such as computing system 600 depicted inFIG. 6, and may be configured to provide one or more operations orfunctions for computing backup path configurations for atelecommunication network based upon traffic estimates for future timeperiods, as described herein. For instance, an illustrative method 500for computing backup path configurations for a telecommunication networkbased upon traffic estimates for future time periods is described ingreater detail below in connection with the example of FIG. 5. Inaddition, it should be noted that as used herein, the terms “configure,”and “reconfigure” may refer to programming or loading a processingsystem with computer-readable/computer-executable instructions, code,and/or programs, e.g., in a distributed or non-distributed memory, whichwhen executed by a processor, or processors, of the processing systemwithin a same device or within distributed devices, may cause theprocessing system to perform various functions. Such terms may alsoencompass providing variables, data values, tables, objects, or otherdata structures or the like which may cause a processing systemexecuting computer-readable instructions, code, and/or programs tofunction differently depending upon the values of the variables or otherdata structures that are provided. As referred to herein a “processingsystem” may comprise a computing device including one or moreprocessors, or cores (e.g., a computing system as illustrated in FIG. 6and discussed below) or multiple computing devices collectivelyconfigured to perform various steps, functions, and/or operations inaccordance with the present disclosure. In addition, with respect toROADMs, “configured” and “reconfigured” may refer to instructions toadjust a wavelength selective switch (WSS) to route differentwavelengths to different fibers/links and/or to different add/dropports. With respect to network switches and transponders, “configured”and “reconfigured” may refer to instructions to send or receive at aparticular bitrate, to utilize a particular transmit power, to transmitor receive on a particular wavelength, and the like.

In one example, nodes 131-137 and components 181-184 (and/or the devicestherein) may be controlled and managed by SDN controller 155. Forinstance, in one example, SDN controller 155 is responsible for suchfunctions as provisioning and releasing instantiations of VNFs toperform the functions of routers, switches, and other devices,provisioning routing tables and other operating parameters for the VNFs,and so forth. Thus, various components of network 105 may comprisevirtual network functions (VNFs) which may physically comprise hardwareexecuting computer-readable/computer-executable instructions, code,and/or programs to perform various functions. For example, the functionsof SDN controller 155 may include the selection of a network functionvirtualization infrastructure (NFVI) from among various NFVIs availableat nodes 131-137 in network 105 to host various devices, such asrouters, gateways, switches, route reflectors, firewalls, media servers,and so forth. To illustrate, network switches 193 and 197 may physicallyreside on host devices that may be configured to be a firewall, a mediaserver, a network switch, a router, and so forth.

In addition, SDN controller 155 may also manage the operations ofoptical components of the network 105. For instance, SDN controller 155may configure paths for wavelength connections via the network 105 byconfiguring and reconfiguring ROADMs at nodes 131-137 and components181-184. For example, SDN controller 155 may provide instructions tocontrol wavelength selective switches (WSSs) within the ROADMs, as wellas transceivers and/or transponders connected to the ROADM add/dropports. In one example, SDN controller 155 may maintain communicationswith nodes 131-137 and components 181-184 (and/or the devices therein)via a number of control links 151 which may comprise secure tunnels forsignaling communications over an underling IP infrastructure of network105, e.g., including fibers/links 120-129, etc. In other words, thecontrol links 151 may comprise virtual links multiplexed withtransmission traffic and other data traversing network 105 and carriedover a shared set of physical links.

Alternatively, or in addition, the control links 151 may compriseout-of-band links, e.g., optical or non-optical connections that aredifferent from fibers/links 120-129. In one example, SDN controller 155may be in communication with node controllers at each node 131-137 (andin one example at components 181-184). For example, node controllers 178and 179 may be responsible for instantiating and releasing instances ofvirtual machines at nodes 136 and 137 respectively, and for configuringand reconfiguring operations of associated ROADMs, such as ROADMs 191and 195, transponders 192 and 196, transceiver 199, network switches 193and 197, and so on. Thus, in one example, node controllers 178 and 179may receive instructions for configuring and reconfiguring ROADMs 191and 195 from SDN controller 155, e.g., via control links 151.Alternatively, or in addition, control links 151 may provide connectionsbetween SDN controller 155 and ROADMs 191 and 195, transponders 192 and196, transceiver 199, and network switches 193 and 197 without theinvolvement of separate node controllers 178 and 179. In one example,the SDN controller 155 may also comprise a virtual machine operating onone or more NFVI/host devices, or may comprise one or more dedicateddevices. For instance, SDN controller 155 may be collocated with one ormore VNFs, may be deployed in one or more different host devices, or ata different physical location or locations, and so forth.

In addition, in one example, SDN controller 155 may represent aprocessing system comprising a plurality of controllers, e.g., amulti-layer SDN controller, one or more federated layer 0/physical layerSDN controllers, and so forth. For instance, a multi-layer SDNcontroller may be responsible for instantiating, tearing down,configuring, reconfiguring, and/or managing layer 2 and/or layer 3 VNFs(e.g., a network switch, a layer 3 switch and/or a router, etc.),whereas one or more layer 0 SDN controllers may be responsible foractivating and deactivating optical networking components, forconfiguring and reconfiguring the optical networking components (e.g.,to provide circuits/wavelength connections between various nodes or tobe placed in an idle mode), for receiving management and configurationinformation from such devices, for instructing optical devices atvarious nodes to engage in testing operations in accordance with thepresent disclosure, and so forth. In one example, the layer 0 SDNcontroller(s) may in turn be controlled by the multi-layer SDNcontroller. For instance, each layer 0 SDN controller may be assigned tonodes/optical components within a portion of the network 105. Inaddition, these various components may be co-located or distributedamong a plurality of different dedicated computing devices or sharedcomputing devices (e.g., NFVI) as described herein.

As further illustrated in FIG. 1, the network 105 also includes a pathcomputation element (PCE) 150. In one example, PCE 150 may comprise acomputing system or server, such as computing system 600 depicted inFIG. 6, and may be configured to provide one or more operations orfunctions in accordance with the present disclosure. PCE 150 may becollocated with one or more of nodes 131-137, components 181-184, or SDNcontroller 155, or may be deployed at one or more different physicallocations. In one example, network 105 may comprise a distributed PCEenvironment with multiple PCEs responsible for different zones, e.g.,segregated by geographic area, by functionality type, etc. Thus, forexample, PCE 150 may be selected to manage path utilizations in theportion of network 105 relating to components 181-184 and nodes 131-137.For instance, the PCE 150 may be selected by the SDN controller 155.

As illustrated in FIG. 1, PCE 150 may be in communication with SDNcontroller 155 and may provide path computation decisions, such asreachability determinations, to the SDN controller 155. In turn, SDNcontroller 155 may provision wavelength connections via paths identifiedby PCE 150. For instance, SDN controller 155 may receive a request toestablish a wavelength connection from component 181 to component 184,e.g., to carry traffic between user devices 141 and 142. SDN controller155 may then forward the request to PCE 150 to calculate a path. Forillustrative purposes, PCE 150 may consider a candidate path (e.g., anend-to-end path) comprising links 120, 121, 122, 123, and 124, and maymake a reachability determination as part of a path computation process.If the path comprising links 120, 121, 122, 123, and 124 is determinedto be “reachable” and if the path satisfies other criteria, such asbeing a least cost path, or a path that supports a least cost route ascomputed at a higher layer (e.g., for IP or IP/MPLS routing), the PCE150 may return the path to SDN controller 155 for deployment. SDNcontroller 155 may then communicate with the nodes 131, 132, 133, and135, and components 181 and 184 to configure ROADMs to maintain awavelength connection over the path. It should be noted that althoughnodes 131, 132, 133, and 135 may include network switches and/or routersoperating in the non-optical domain, a wavelength connection via thepath comprising links 120, 121, 122, 123, and 124 may be opticallyswitched through ROADMs at nodes 131, 132, 133, and 135 (and bypassingany routers (e.g., layer 3 routers) or non-optical switches) that may bepresent at the respective nodes. In one example, components 181 and 184may be configured to add and drop the wavelength of the wavelengthconnection and to perform optical-electrical conversion and vice versa,e.g., via a transponder coupled to an add/drop port of a ROADM therein.

In this regard, PCE 150 may store various data in connection withmanaging path utilizations for telecommunication network tunnels. Forinstance, PCE 150 may maintain a topology information block (TIB) thatincludes records for various links/fibers between the nodes 131-137 andcomponents 181-184 in network 105, such as the available wavelengths,the wavelengths assigned/in-use and/or the available/free wavelengths,the paths assigned to respective wavelengths, the fiber lengths,capacities, and ages, the availability of transponders, switches, and/orother infrastructures at various nodes, transponder and/or transceiverperformance capabilities of the various nodes, information regarding anyprotection scheme involving a fiber, and/or any particular wavelengthsthat may be utilized over the fiber, and so forth. In this regard, theSDN controller 155 may provide information to PCE 150 regarding thestatuses of transponders, network switches, and/or ROADMs, and regardingthe connections between such devices that the SDN controller 155 mayobtain in the course of the performance of operations for computingbackup path configurations for a telecommunication network based upontraffic estimates for future time periods, as described herein.

In one example, SDN controller 155 may gather traffic measurements fromvarious paths (e.g., end-to-end paths) between nodes in the network 105.For instance, the traffic measurements may be obtained from one or bothof the end nodes for each given end-to-end path (e.g., each tunnel). SDNcontroller 155 may further calculate traffic estimates for a pluralityof future time periods for each of the primary paths (e.g., single linksfor link protection, or link pairs for router protection) in the network105, e.g., based upon traffic estimates for each of the end-to-end pathsfor such future time periods. For instance, the traffic estimates forthe end-to-end paths for each future time period may be calculated usinga nonlinear autoregressive model, such as GPR, and the primary pathtraffic estimates may be determined from the various end-to-end pathtraffic estimates for the future time period in accordance with atopology information block (TIB) of PCE 150. For instance, the SDNcontroller 155 may sum the (future predicted) traffic for eachend-to-end path traversing a link to determine a (future predicted) linktraffic (and similarly for two-link primary paths for router protectionschemes).

In one example, the SDN controller 155 may also calculate andrecalculate backup path configurations for network element failureconditions (e.g., for link protection and/or node protection) based uponthe estimated primary path traffic, determine if there are backup pathconfiguration changes (e.g., from one or more previously calculatedbackup path configurations), and then adjust any backup paths for whicha change is noted. In accordance with the present disclosure, suchchanges may include rerouting of one or more backup paths over fixed IPlinks, as well as creating or deleting wavelength connections that maysupport various IP links with CD ROADMs, DFCC (digital fiber crossconnects), and so forth based on the changing traffic conditions orother conditions of network 105, such as scheduled maintenance orbandwidth scheduling, and so forth.

It should be noted that the system 100 has been simplified. In otherwords, the system 100 may be implemented in a different form than thatillustrated in FIG. 1. For example, the system 100 may be expanded toinclude additional networks, such as NOC networks, and additionalnetwork elements (not shown) such as border elements, routers, switches,policy servers, security devices, gateways, a content distributionnetwork (CDN) and the like, without altering the scope of the presentdisclosure. In addition, system 100 may be altered to omit variouselements, substitute elements for devices that perform the same orsimilar functions and/or combine elements that are illustrated asseparate devices. For example, SDN controller 155, PCE 150, and/or othernetwork elements may comprise functions that are spread across severaldevices that operate collectively as a SDN controller, a PCE, etc. Inanother example, PCE 150 and SDN controller 155 may be integrated into asingle device. In another example, PCE 150 may maintain its ownconnections to nodes 131-137 and components 181-184 and may sendinstructions to various devices to configure wavelength connections inaccordance with the present disclosure. In still another example, SDNcontroller 155 and/or PCE 150 may calculate and recalculate secondaryend-to-end paths which may be implemented after a FRR activation of abackup path. For instance, SDN controller 155 may provide a path trafficmatrix and/or a link traffic vector for one or more future time periodswhich PCE 150 may utilize to select secondary end-to-end paths (e.g.,backup paths) which may be activated in response to failure conditionsaffecting network element(s) on primary end-to-end paths (e.g.,tunnels). For example, a FRR backup path may be used initially inresponse to a failure condition affecting a link or node in thepath/tunnel, while the secondary end-to-end path may be activatedthereafter. Thus, these and other modifications of the system 100 areall contemplated within the scope of the present disclosure.

FIG. 2 illustrates an additional example system 200 in which examples ofthe present disclosure for computing backup path configurations for atelecommunication network based upon traffic estimates for future timeperiods may operate. As illustrated in FIG. 2, the system 200 includesan optical network 201, and nodes 250 and 260, which may include opticalcomponents and non-optical components. For example, node 250 includesROADM 210 as well as transponder 225, dynamic fiber cross connect (DFCC)240, and router port 221. Similarly, node 260 includes ROADM 213,transponder 235, router port 231, and DFCC 241. Collectively, routerport 221 and transponder 225 may be referred to as a “tail” 220.Likewise, router port 231 and transponder 235 may be referred to as a“tail” 230. Transponders 225 and 235 are used in the two locations ofnode 250 and node 260, respectively, for electrical-to-optical andoptical-to-electrical signal conversions.

The system 200 may represent similar components of the system 100. Forinstance, nodes 250 and 260 may correspond to any one of nodes 131-137and/or components 181-184. As further illustrated in FIG. 2, opticalnetwork 201 may include ROADMs 211 and 212, and a regenerator 215. Theremay be many additional ROADMs in the optical network 201 (not shown).Regenerator 215 may be used to boost signal strength if the distancefrom ROADM 211 to ROADM 212 is beyond the transponders' and/or thefibers' optical reach.

These components are intended to illustrated that additional opticalcomponents may exist between nodes in the network and may comprisenetwork resources of a link that may be controllable in connection withexamples of the present disclosure for computing backup pathconfigurations for a telecommunication network based upon trafficestimates for future time periods. For instance, the wavelengthconnection 295 may represent a wavelength connection over a physicalfiber between ROADM 210 and ROADM 213, which may support an IP linkbetween router port 221 (and/or node 250) and router port 231 (and/ornode 260). A backup path for this link between the nodes/routers maytraverse another node/router at a different location (not shown).However, in accordance with the present disclosure, a backup path may beconfigured by providing additional resources to an existing IP link orcreating a new IP link. For instance, an additional IP link betweenrouter ports 221 and 231 (and/or between nodes 250 and 260) may beestablished over a new/different wavelength connection 299 via ROADMs210-213 and regenerator 215. In addition, the IP link over wavelengthconnection 299 may be used for a backup path as described herein.

In one example, the DFCCs 240 and 241 may be used to connect twocomponents of the respective tails 220 and 230 in the same location.There may be many router ports and transponders in the same location(not shown in the figure) and the DFCCs 240 and 241 may be used toconnect any router port to any transponder in the same tail, and todynamically rearrange the connections, e.g., following a traffic changeor failure event.

With an SDN controller or a system of federated SDN controllers managingboth the packet network and the ROADM network in accordance with thepresent disclosure, the three components, tail 220, tail 230, andregenerator 215 are disaggregated, interoperable, and the non-failedcomponents can be reused in the event of a failure condition affectingone of the components. Furthermore, the DFCCs 240 and 241 alsodisaggregate the two components of the respective tails 220 and 230, andif one of the components fails (e.g., router port 221 or transponder 225in tail 220, or router port 231 or transponder 235 in tail 230), thenon-failed component can be reused and combined with another componentof the opposite type to form a new tail.

FIG. 3 illustrates a portion of a network 300 in which examples of thepresent disclosure for computing backup path configurations for atelecommunication network based upon traffic estimates for future timeperiods may operate. As shown in FIG. 3, the network 300 includes fournodes 301-304 (e.g., comprising switches and/or routers, or the like).The nodes 301-304 are interconnected via a plurality of links 391-395(e.g., IP links). The network 300 may represent similar components ofthe system 100 or system 200. For instance, nodes 301-304 may correspondto any one of the nodes 131-137 and/or components 181-184 of FIG. 1, orany one of the nodes 250 or 260 of FIG. 2. FIG. 3 further illustrates aplurality of links 399 which may interconnect nodes 301-304 to othernodes of the network 300 (not shown). For instance, each of nodes301-304 may have any number of additional links 1 to N depending uponthe particular configuration/topology of network 300. It should be notedthat for illustrative purposes, nodes 301-304 are connected viaunidirectional links 391-395. However, the network 300 may includereverse links (not shown) among nodes 301-304 which are complementary tolinks 391-395 (i.e., in the opposite directions).

FIG. 4 illustrates a primary path traffic vector (e.g., a link trafficvector) at different time periods for the portion of the network 300shown in FIG. 3. For instance, link traffic vector 410 may comprise thelink traffic predictions among nodes 301-304 for a time period on aweekday afternoon, while link traffic vector 420 may comprise the linktraffic predictions among nodes 301-304 for a time period on a weekdayevening. In the present example, it may be assumed that each link canhave a capacity in multiples of 100 Gbps and that the current capacityof each link is 100 Gbps. In addition, the present example may involvecalculating a backup path for link 395 from node 310 to node 304. Giventhe topology of network 300, there are two possible options for a backuppath for link 395: the path 340 and the path 350. As can be seen in FIG.4, the estimated traffic for link 395 is 30 Gbps at both time periods(e.g., in both traffic matrix 410 and traffic matrix 420). Therefore,the backup path should have a spare capacity of at least 30 Gbps inorder to avoid traffic loss immediately following a failure of link 395.For any link, the spare capacity is defined as the available extracapacity after carrying normal traffic on that link. In addition, sparecapacity of a path is the minimum of the spare capacities among alllinks along the path.

At different times of day, days of the week, and so on, the availablespare capacity on each link changes. For instance, during an afternoonpeak traffic period (e.g., corresponding to traffic matrix 410) thepotential backup path 340 has a spare capacity of 50 Gbps. Inparticular, link 391 has a predicted traffic utilization of 50 Gbps (andthus a predicted spare capacity of 50 Gbps), while link 392 has apredicted traffic utilization of 30 Gbps (and thus a predicted sparecapacity of 70 Gbps). The minimum spare capacity among these links is 50Gbps, and therefore the available spare capacity of potential backuppath 340 is 50 Gbps during the afternoon time period. In a similar way,the available spare capacity of potential backup path 350 during theafternoon time period may be calculated as 10 Gbps, which isinsufficient to support the predicted traffic of 30 Gbps on link 395. Onthe other hand, during the evening time period (corresponding to thetraffic matrix 420), the potential backup path 340 is predicted to havean available spare capacity of 10 Gbps (which is insufficient to supportthe predicted traffic of 30 Gbps on link 395), while the potentialbackup path 350 is predicted to have an available spare capacity of 50Gbps.

If the path 340 is used statically as the backup path for link 395 and afailure occurs on link 395 during evening hours, then 20 Gbps of trafficmay be lost or unsupported. Similarly, if path 350 is used statically asthe backup path for link 395 and a failure occurs on link 395 duringafternoon hours, then 20 Gbps of traffic may be lost or unsupported. Inorder to avoid traffic loss, one of the paths can be chosen for thebackup and extra capacity of 100 Gbps may be added along that path(e.g., assuming 100 Gbps to be the minimum unit for capacity addition).Note that in the present example, at least two links would need to beaugmented by 100 Gbps for whichever of the potential backup paths (340or 350) is selected.

However, with a view of the future predicted traffic conditionsillustrated by traffic matrix 410 and traffic matrix 420, in accordancewith the present disclosure a more optimal backup path configuration maybe calculated for each time interval/time period, and the backup pathconfiguration may be implemented within the network 300 in advance ofsuch time periods. For instance, every 15 minutes, every hour, etc., abackup path configuration may be calculated for a future time period,e.g., 15 minutes later, 30 minutes later, etc. When the backup pathconfiguration changes, the network 300 may switch the backup path to thenew configuration. For instance, just before the a peak afternoontraffic period (corresponding to traffic matrix 410), the network 300may allocate the backup path for link 395 to path 340, and just before apeak evening traffic period (corresponding to traffic matrix 420) thenetwork 300 may allocate the backup path for link 395 to path 350,thereby avoiding traffic loss on the backup path no matter when afailure on link 395 may happen, and without using any extra capacity.

The foregoing example is described in connection with calculating abackup path configuration for a single link 395, and without regard toany QoS (Quality of Service) classes. However, it should be noted thatconfigurations for backup paths for each direction of each link in anetwork (which may be several hundred links in a large telecommunicationnetwork), and for each class, may be calculated for each time period.For example, an end-to-end path traffic matrix may include KN(N−1)elements and a link traffic vector may include KNM elements where K isthe number of QoS classes, N is the number of trafficendpoints/nodes/routers in the network and M is the average number oflinks out of every router. As an example, if K=2, N=50 and M=4 then thenumber of elements of the end-to-end path traffic matrix is 4900 andthat of the link traffic vector is 400. In addition, a primary pathtraffic vector for a node/router protection scheme may be similarlycalculated in accordance with the foregoing. For instance, each elementof a primary path traffic vector may represent traffic on a two-linkprimary path traversing a node and may be similarly calculated from thepredicted end-to-end path traffic and in accordance with the networktopology.

FIG. 5 illustrates a flowchart of an example method 500 for computingbackup path configurations for a telecommunication network based upontraffic estimates for future time periods. In one example, steps,functions and/or operations of the method 500 may be performed by anetwork-based device, such as SDN controller 155 in FIG. 1, or any oneor more components thereof, such as a processing system. Alternatively,or in addition, the steps, functions and/or operations of the method 500may be performed by a processing system collectively comprising aplurality of devices as illustrated in FIG. 1, such as SDN controller155, PCE 150, ROADM 191 and/or ROADM 195, network switches 193 and/or197, node controllers 178 and/or 179, and so forth. In one example, thesteps, functions, or operations of method 500 may be performed by acomputing device or system 600, and/or a processing system 602 asdescribed in connection with FIG. 6 below. For instance, the computingdevice 600 may represent at least a portion of a SDN controller, inaccordance with the present disclosure. For illustrative purposes, themethod 500 is described in greater detail below in connection with anexample performed by a processing system, such as processing system 602,or a processing system comprising a plurality of devices. The method 500begins in step 505 and proceeds to step 510.

At step 510, the processing system obtains a plurality of trafficmeasurements for a plurality of end-to-end paths in a telecommunicationnetwork. In one example, each of the plurality of end-to-end paths maycomprise a MPLS tunnel. In one example, the traffic measurements may beobtained by the processing system from the tunnel endpoints/nodes.

At step 520, the processing system calculates traffic estimates for theplurality of end-to-end paths at the future time period(s) based on thetraffic measurements in accordance with at least one machine learningmodel. In one example, the at least one machine learning model maycomprise a plurality of machine learning models, e.g., a plurality ofnonlinear autoregressive models, one for each time range to beforecasted, where the traffic estimates for the plurality of end-to-endpaths are calculated in accordance with the plurality of nonlinearautoregressive models. For instance, the plurality of nonlinearautoregressive models may be formed by using Gaussian process regressionto determine the nonlinear relationships between the past and futuretime periods in each model. In this example, at least a portion of theplurality of traffic measurements obtained at step 510 may be used astraining data to train the plurality of nonlinear autoregressive models.In one example, each of the plurality of nonlinear autoregressive modelsis associated with a respective one of the plurality of end-to-end pathsand is separately trained from at least a portion of the plurality oftraffic measurements that is obtained for the one of the plurality ofend-to-end paths.

In one example, each of the plurality of nonlinear autoregressive modelsgenerates a traffic estimate for one of the plurality of end-to-endpaths for the future time period(s) in accordance with a function of theplurality of traffic measurements from the plurality of end-to-end pathsat a plurality of previous time periods. In addition, in one example,each of the plurality of nonlinear autoregressive models generates atraffic estimate for one of the plurality of end-to-end paths for thefuture time period(s) in further accordance with a linear trend factor.

In one example, for each of the plurality of nonlinear autoregressivemodels, a previous time period of the plurality of previous time periodsis selected for inclusion in the plurality of previous time periods whena partial autocorrelation of the training data associated with theprevious time period exceeds a threshold. The threshold may be dependentupon the range between the future time period to be forecasted and thecurrent time period. For instance, the threshold may be decreased(resulting in more lags chosen in the model) for longer-range forecastsand may be increased (resulting in fewer lags chosen in the model) forshorter-range forecasts. In one example, the reference time period maycomprise a most recent time period for which the plurality of trafficmeasurements is obtained (e.g., as close to a current time period as ispossible).

Step 520 may also include computing an end-to-end path traffic matrixhaving rows and columns corresponding to nodes in the telecommunicationnetwork. In one example, each entry of a plurality of entries in theend-to-end path traffic matrix represents a traffic estimate for one ofthe plurality of end-to-end paths comprising a path between two of thenodes in the telecommunication network.

At step 530, the processing system calculates traffic estimates for aplurality of primary paths in the telecommunication network based uponthe traffic estimates for the plurality of end-to-end paths. Forexample, the processing system may utilize a network routing mechanism(e.g., network topology information, such as a TIB) to calculate trafficestimates for a plurality of links (or a pair of links, for node/routerprotection) from the traffic estimates of end-to-end paths. In oneexample each of the plurality of primary paths comprises a link betweenadjacent nodes in the telecommunication network, or a node and two linksconnected to the node in the telecommunication network. In one example,step 530 may include computing a primary path traffic vector having rowsand columns corresponding to a subset of the nodes in thetelecommunication network, where each entry of a plurality of entries inthe primary path traffic vector represents a traffic estimate for one ofthe plurality of primary paths in the telecommunication network. In oneexample, the subset of the nodes comprises nodes that are insource-destination node pairs of the plurality of primary paths. Inaddition, in one example, the primary path traffic vector may becomputed from the end-to-end path traffic matrix in accordance with arouting engine mapping of the plurality of end-to-end paths in thetelecommunication network.

At step 540, the processing system computes at least one backup pathconfiguration for at least one primary path of the telecommunicationnetwork for the plurality of future time periods based upon the trafficestimates (e.g., at least one of the traffic estimates) for theplurality of primary paths in the plurality of future time periods. Forinstance, the backup path may be a FRR backup path for link protectionor node protection. In one example, the at least one backup pathconfiguration may be computed based upon the primary path traffic vectorcomprising the traffic estimates for the plurality of primary paths atthe future time period(s). The primary paths are over a single link inthe link protection case and over two links in the router protectioncase.

At least one backup path configuration may be calculated in accordancewith a path optimization algorithm based upon the primary path trafficestimates for one or more of the future time periods. For instance,primary paths may be selected using a shortest path first (SPF)algorithm (which may include additional constraints). As just oneexample, candidate backup paths may then be selected from a secondshortest path, a third shortest path, etc. that are diverse from theprimary path. It should be noted that the second shortest path maychange from time period to time period, e.g., as the predictedend-to-end path traffic matrix changes. Thus, the second shortest path(e.g., with additional resource constraints) for each primary path to beprotected may be selected as the backup path configuration. Variousadditional methodologies for selecting backup path configurations may beimplemented at step 530 in accordance with the present disclosure. Inaddition, in accordance with the present disclosure, the paths to beconsidered as candidate backup paths may include non-active paths orlinks, and/or paths or links which may be established within an L0-L3SDN architecture, but which are not currently active.

At step 550, the processing system detects a change in the at least onebackup path configuration for the at least one primary path in a futuretime period of the plurality of future time periods based upon thecomputing. For instance, the processing system may maintain a set ofbackup path configurations for various primary paths in thetelecommunication network, such as in a topology information block (TIB)and/or routing engine mapping. As such, the processing system may detectany changes, e.g., from one time period to the next, among any one ormore of the backup paths.

At step 560, the processing system adjusts at least one backup path inaccordance with at least one backup path configuration when the changein at least one backup path configuration is detected (based ontraffic-change-based computation). In one example, the adjusting isperformed at a designated time in advance of the future time period,e.g., 20 minutes in advance of the future time period, 15 minutes inadvance of the future time period, etc. In one example, step 550 mayinclude at least one of: providing additional capacity to an existingset of resources for the at least one backup path, or changing theexisting set of resources for the at least one backup path to adifferent set of resources. For instance, changing the existing set ofresources for the at least one backup path to a different set ofresources may include assigning the at least one backup path to at leastone different link or at least one different node of thetelecommunication network that is not in the existing set of resources.Alternatively, or in addition, changing the existing set of resourcesfor the at least one backup path to a different set of resources maycomprise activating the at least one different link in the network viaat least one of: at least one reconfigurable optical add-dropmultiplexer, or at least one fiber cross-connect. In one example, theprocessing system may instruct one or more other network elements toeffectuate the adjusting of the backup path. For instance, theprocessing system may instruct one or more nodes (or components thereof,such as switches/routers, node controllers, DFCC, ROADMs, regenerators,and so forth) to turn up a wavelength connection, to allocate more orless bandwidth to one or more links for the backup path, to reconfigureoperational state(s) to utilize the new backup path configurationinstead of an old backup path configuration (e.g., to route traffic to adifferent link in the event of a failure on the protected link), and soforth.

Following step 560 the method 500 proceeds to step 595. At step 595, themethod 500 ends.

It should be noted that the method 500 may be expanded to includeadditional steps, or may be modified to replace steps with differentsteps, to combine steps, to omit steps, to perform steps in a differentorder, and so forth. For instance, in one example, the method 500 may berepeated for one or more additional time periods. In one example, abackup path for which a configuration is computed at step 540 may be asecondary end-to-end path for one of the plurality of paths (e.g., MPLStunnels). In one example, the backup path configuration(s) computed atstep 540 can also be based upon other factors in addition to forecasttraffic, such as node/processor load, scheduled maintenance events atnodes or links, and so on. In addition, in one example, step 560 mayfurther include provisioning or reconfiguring VNFs and/or NFVI withinthe network to host new routers/switches and to include such newlyinstantiated network element(s) into one or more backup paths. In oneexample, a network failure is detected and one or more of the adjustedbackup paths are used as backup path(s) responsive to the detectednetwork failure. Thus, these and other modifications are allcontemplated within the scope of the present disclosure.

In addition, although not specifically specified, one or more steps,functions or operations of the method 500 may include a storing,displaying, and/or outputting step as required for a particularapplication. In other words, any data, records, fields, and/orintermediate results discussed in the example method 500 can be stored,displayed, and/or outputted to another device as required for aparticular application. Furthermore, steps or blocks in FIG. 5 thatrecite a determining operation or involve a decision do not necessarilyrequire that both branches of the determining operation be practiced. Inother words, one of the branches of the determining operation can bedeemed as an optional step. In addition, one or more steps, blocks,functions, or operations of the above described method 500 may compriseoptional steps, or can be combined, separated, and/or performed in adifferent order from that described above, without departing from theexamples of the present disclosure.

FIG. 6 depicts a high-level block diagram of a computing device orprocessing system specifically programmed to perform the functionsdescribed herein. As depicted in FIG. 6, the processing system 600comprises one or more hardware processor elements 602 (e.g., a centralprocessing unit (CPU), a microprocessor, or a multi-core processor), amemory 604 (e.g., random access memory (RAM) and/or read only memory(ROM)), a module 605 for computing backup path configurations for atelecommunication network based upon traffic estimates for future timeperiods, and various input/output devices 606 (e.g., storage devices,including but not limited to, a tape drive, a floppy drive, a hard diskdrive or a compact disk drive, a receiver, a transmitter, a speaker, adisplay, a speech synthesizer, an output port, an input port and a userinput device (such as a keyboard, a keypad, a mouse, a microphone andthe like)). In accordance with the present disclosure input/outputdevices 606 may also include antenna elements, transceivers, powerunits, and so forth. Although only one processor element is shown, itshould be noted that the computing device may employ a plurality ofprocessor elements. Furthermore, although only one computing device isshown in the figure, if the method 500 as discussed above is implementedin a distributed or parallel manner for a particular illustrativeexample, i.e., the steps of the above method 500, or the entire method500 is implemented across multiple or parallel computing devices, e.g.,a processing system, then the computing device of this figure isintended to represent each of those multiple computing devices.

Furthermore, one or more hardware processors can be utilized insupporting a virtualized or shared computing environment. Thevirtualized computing environment may support one or more virtualmachines representing computers, servers, or other computing devices. Insuch virtualized virtual machines, hardware components such as hardwareprocessors and computer-readable storage devices may be virtualized orlogically represented. The hardware processor 602 can also be configuredor programmed to cause other devices to perform one or more operationsas discussed above. In other words, the hardware processor 602 may servethe function of a central controller directing other devices to performthe one or more operations as discussed above.

It should be noted that the present disclosure can be implemented insoftware and/or in a combination of software and hardware, e.g., usingapplication specific integrated circuits (ASIC), a programmable gatearray (PGA) including a Field PGA, or a state machine deployed on ahardware device, a computing device or any other hardware equivalents,e.g., computer readable instructions pertaining to the methods discussedabove can be used to configure a hardware processor to perform thesteps, functions and/or operations of the above disclosed method 500. Inone example, instructions and data for the present module or process 605for computing backup path configurations for a telecommunication networkbased upon traffic estimates for future time periods (e.g., a softwareprogram comprising computer-executable instructions) can be loaded intomemory 604 and executed by hardware processor element 602 to implementthe steps, functions, or operations as discussed above in connectionwith the illustrative method 500. Furthermore, when a hardware processorexecutes instructions to perform “operations,” this could include thehardware processor performing the operations directly and/orfacilitating, directing, or cooperating with another hardware device orcomponent (e.g., a co-processor and the like) to perform the operations.

The processor executing the computer readable or software instructionsrelating to the above described method(s) can be perceived as aprogrammed processor or a specialized processor. As such, the presentmodule 605 for computing backup path configurations for atelecommunication network based upon traffic estimates for future timeperiods (including associated data structures) of the present disclosurecan be stored on a tangible or physical (broadly non-transitory)computer-readable storage device or medium, e.g., volatile memory,non-volatile memory, ROM memory, RAM memory, magnetic or optical drive,device or diskette, and the like. Furthermore, a “tangible”computer-readable storage device or medium comprises a physical device,a hardware device, or a device that is discernible by the touch. Morespecifically, the computer-readable storage device may comprise anyphysical devices that provide the ability to store information such asdata and/or instructions to be accessed by a processor or a computingdevice such as a computer or an application server.

While various examples have been described above, it should beunderstood that they have been presented by way of illustration only,and not a limitation. Thus, the breadth and scope of any aspect of thepresent disclosure should not be limited by any of the above-describedexamples, but should be defined only in accordance with the followingclaims and their equivalents.

What is claimed is:
 1. A method comprising: calculating in accordance with at least one machine learning model, by a processing system including at least one processor, traffic estimates for a plurality of end-to-end paths in at least one future time period using a plurality of traffic measurements for the plurality of end-to-end paths in a telecommunication network; calculating, by the processing system, at least one traffic estimate for a plurality of primary paths in the telecommunication network based upon the traffic estimates for the plurality of end-to-end paths; computing, by the processing system, at least one backup path configuration for at least one primary path of the telecommunication network for the at least one future time period based upon the at least one traffic estimate for the plurality of primary paths in the at least one future time period; detecting, by the processing system, a change in the at least one backup path configuration for the at least one primary path in a future time period of the at least one future time period based upon the computing; and adjusting, by the processing system, at least one backup path in accordance with the at least one backup path configuration when the change in the at least one backup path configuration is detected.
 2. The method of claim 1, wherein the adjusting is performed at a designated time in advance of the future time period.
 3. The method of claim 1, wherein each of the plurality of primary paths comprises: a link between adjacent nodes in the telecommunication network; or a node, and two links connected to the node in the telecommunication network.
 4. The method of claim 1, wherein each of the plurality of end-to-end paths comprises a multiprotocol label switching tunnel.
 5. The method of claim 1, wherein the calculating the traffic estimates for the plurality of end-to-end paths further comprises: computing an end-to-end path traffic matrix having rows and columns corresponding to nodes in the telecommunication network, wherein each entry of a plurality of entries in the end-to-end path traffic matrix represents a traffic estimate for one of the plurality of end-to-end paths comprising a path between two of the nodes in the telecommunication network.
 6. The method of claim 5, wherein the calculating the at least one traffic estimate for the plurality of primary paths further comprises: computing a primary path traffic vector having rows and columns corresponding to a subset of the nodes in the telecommunication network, wherein each entry of a plurality of entries in the primary path traffic vector represents a traffic estimate for one of the plurality of primary paths in the telecommunication network.
 7. The method of claim 6, wherein the primary path traffic vector is computed from the end-to-end path traffic matrix in accordance with a routing engine mapping of the plurality of end-to-end paths in the telecommunication network, wherein the at least one backup path configuration is computed based upon the primary path traffic vector comprising the at least one traffic estimate for the plurality of primary paths at the future time period.
 8. The method of claim 1, wherein the at least one machine learning model comprises a plurality of nonlinear autoregressive models, wherein the traffic estimates for the plurality of end-to-end paths are calculated in accordance with the plurality of nonlinear autoregressive models.
 9. The method of claim 8, wherein the plurality of nonlinear autoregressive models comprises Gaussian process regression models.
 10. The method of claim 8, wherein at least a portion of the plurality of traffic measurements is used as training data to train the plurality of nonlinear autoregressive models.
 11. The method of claim 8, wherein each of the plurality of nonlinear autoregressive models is associated with a respective one of the plurality of end-to-end paths, and wherein each of the plurality of nonlinear autoregressive models is separately trained from at least a portion of the plurality of traffic measurements that is obtained for the respective one of the plurality of end-to-end paths.
 12. The method of claim 8, wherein each of the plurality of nonlinear autoregressive models generates a traffic estimate for one of the plurality of end-to-end paths for the future time period in accordance with a function of traffic measurements of the plurality of traffic measurements from the one of the plurality of end-to-end paths from a plurality of previous time periods.
 13. The method of claim 12, wherein each of the plurality of nonlinear autoregressive models generates the traffic estimate for the one of the plurality of end-to-end paths for the future time period in further accordance with a linear trend factor.
 14. The method of claim 12, wherein for each of the plurality of nonlinear autoregressive models, a previous time period of the plurality of previous time periods is selected for inclusion in the plurality of previous time periods when a partial autocorrelation associated with the previous time period exceeds a threshold.
 15. The method of claim 14, wherein the threshold is dependent upon a time lag between a reference time period and the previous time period, wherein the threshold is increased for a longer time lag and is decreased for a shorter time lag, wherein the reference time period comprises a most recent time period for which the plurality of traffic measurements is obtained.
 16. The method of claim 1, wherein the adjusting the at least one backup path comprises: providing an additional capacity to an existing set of resources for the at least one backup path; or changing the existing set of resources for the at least one backup path to a different set of resources.
 17. The method of claim 16, wherein the changing the existing set of resources for the at least one backup path to the different set of resources comprises: assigning the at least one backup path to at least one different link or at least one different node of the telecommunication network that is not in the existing set of resources.
 18. The method of claim 17, wherein the changing the existing set of resources for the at least one backup path to the different set of resources further comprises: activating the at least one different link in the telecommunication network via at least one of: at least one reconfigurable optical add-drop multiplexer; or at least one fiber cross-connect.
 19. A non-transitory computer-readable medium storing instructions which, when executed by a processing system including at least one processor, cause the processing system to perform operations, the operations comprising: calculating in accordance with at least one machine learning model, traffic estimates for a plurality of end-to-end paths in at least one future time period using a plurality of traffic measurements for the plurality of end-to-end paths in a telecommunication network; calculating at least one traffic estimate for a plurality of primary paths in the telecommunication network based upon the traffic estimates for the plurality of end-to-end paths; computing at least one backup path configuration for at least one primary path of the telecommunication network for the at least one future time period based upon the at least one traffic estimate for the plurality of primary paths in the at least one future time period; detecting a change in the at least one backup path configuration for the at least one primary path in a future time period of the at least one future time period based upon the computing; and adjusting, by the processing system, at least one backup path in accordance with the at least one backup path configuration when the change in the at least one backup path configuration is detected.
 20. An apparatus comprising: a processing system including at least one processor; and a non-transitory computer-readable medium storing instructions which, when executed by the processing system, cause the processing system to perform operations, the operations comprising: calculating in accordance with at least one machine learning model, traffic estimates for a plurality of end-to-end paths in at least one future time period using a plurality of traffic measurements for the plurality of end-to-end paths in a telecommunication network; calculating at least one traffic estimate for a plurality of primary paths in the telecommunication network based upon the traffic estimates for the plurality of end-to-end paths; computing at least one backup path configuration for at least one primary path of the telecommunication network for the at least one future time period based upon the at least one traffic estimate for the plurality of primary paths in the at least one future time period; detecting a change in the at least one backup path configuration for the at least one primary path in a future time period of the at least one future time period based upon the computing; and adjusting, by the processing system, at least one backup path in accordance with the at least one backup path configuration when the change in the at least one backup path configuration is detected. 